home *** CD-ROM | disk | FTP | other *** search
/ Gold Medal Software 3 / Gold Medal Software - Volume 3 (Gold Medal) (1994).iso / prog / word.arj / SBTEST.C < prev    next >
C/C++ Source or Header  |  1993-01-28  |  2KB  |  90 lines

  1. #include <wgtsb.h>
  2. #include <wgt.h>
  3. #include <conio.h>
  4.  
  5. /* WordUp Graphics Toolkit 
  6.    SoundBlaster Routines 
  7. ````````````````````````````
  8. This program plays a CMF file in the background,
  9. and plays a VOC file when you click the left and right
  10. mouse button. Hit any key to stop this portion.
  11. Recording will now be tested. It will record and
  12. play back like a parrot, that is, it listens for
  13. a while, and then plays back what you said.
  14. */
  15.  
  16.  
  17. unsigned v;
  18. wgtsong song;
  19. wgtvoice badger;
  20. wgtvoice conanhit;
  21.  
  22. void main(void)
  23. {
  24. int ok;
  25.  
  26. sbintnum=7; sbioaddr=0x220;        // set SB ports and interrupts
  27. ok=wfindfm();                // init FM sound
  28. if (ok==-1) {
  29.     printf("You must run SBFMDRV.COM before using this program!");
  30.     exit(1);
  31.     }
  32. ok=winitsb();                // init digital sound
  33. if (ok==-1) {
  34.         printf("CT-VOICE.DRV not found in directory!");
  35.         exit(1); // could not load in CT-Voice driver from current 
  36.             // directory (or library file)
  37.         }
  38. song=wloadcmf("wsp.cmf");
  39. badger=wloadvoc("badger.voc");
  40. conanhit=wloadvoc("conhit.voc");
  41. vga256();
  42. wplaycmf(song);
  43. minit();
  44. mon();
  45. window(1,1,80,25);
  46.  
  47. do {
  48. mread();
  49. if (but==1) {
  50.      wsetcolor(my);
  51.      wline(0,0,mx,my);
  52.      wstopvoc();
  53.      wplayvoc(badger);
  54.      }
  55. if (but==2) {
  56.      wsetcolor(my);
  57.      wline(319,199,mx,my);
  58.      wstopvoc();
  59.      wplayvoc(conanhit);
  60.      }
  61. gotoxy(1,1);
  62. printf("%i",fmstat);
  63. if (fmstat==0) wplaycmf(song);
  64. delay(10);
  65. } while (!kbhit());
  66.  
  67. getch();
  68. moff();
  69. textmode(C80);
  70. wfmstopmusic();
  71. wfreesong(song);
  72. wfreevoc(badger);
  73. wfreevoc(conanhit);
  74.  
  75.  
  76. printf("Talk into the microphone....");
  77. badger=wnewvoice(20000);    // make a new voice data variable
  78. do {
  79.    printf("\nNow recording...");
  80.    wsetspeaker(0);            // turn speaker off
  81.    wsample(badger,20000);
  82.    while (sbstat);            // wait until finished recording
  83.    printf("\nNow playing back...");
  84.    wsetspeaker(1);
  85.    wplayvoc(badger);
  86.    while (sbstat !=0);            // wait until finished playing
  87.   } while (!kbhit());
  88. wfreevoc(badger);
  89. wdeinitsb();    // deinit digital sound
  90. }